

#ifndef BSPLINE_ABIERTA_H_
#define BSPLINE_ABIERTA_H_

#include "bspline.h"
#include <vector>

class Coord;

class BsplineAbierta : public Bspline {
   public:

      /*
       * Construye una curva bsplien con una cantidad "puntos" de puntos de control
       *
       *  Construye una Bspline tradicional, abierta, en donde los extremos de
       *  la curva no necesariamente interpolan los puntos de control extremos.
       *
       * Precondicion:
       *    El parametro "puntos" es la cantidad de elementos del array de Coord
       *    La cantidad de elementos debe cumplir
       *
       *    puntos > grado()
       *    (puntos - grado() - 1) % 2 == 0
       *
       * */       
      BsplineAbierta(const std::vector<Coord> &pcontrol);
      virtual ~BsplineAbierta();
      virtual Coord centro() const;
};


#endif
